package implementacionCommand;

import futbol.Jugador;
import futbol.Tipo;
import implementacionCommand.Adm;
import implementacionCommand.Denegacion;
import implementacionCommand.Pedidos;
import java.util.ArrayList;
import org.eclipse.xtext.xbase.lib.Functions.Function0;

@SuppressWarnings("all")
public class Propuesta implements Pedidos {
  private String nombre;
  
  private Tipo tipoDeInscripcion;
  
  private String fechaDeNacimiento;
  
  private String email;
  
  private ArrayList<Jugador> amigos = new Function0<ArrayList<Jugador>>() {
    public ArrayList<Jugador> apply() {
      ArrayList<Jugador> _arrayList = new ArrayList<Jugador>();
      return _arrayList;
    }
  }.apply();
  
  public Propuesta(final String nombre, final Tipo tipoDeInscripcion, final String fechaDeNacimiento, final String email, final ArrayList<Jugador> amigos) {
    this.nombre = nombre;
    this.tipoDeInscripcion = tipoDeInscripcion;
    this.fechaDeNacimiento = fechaDeNacimiento;
    this.email = email;
    this.amigos.addAll(amigos);
  }
  
  public void negar(final Denegacion denegacion, final Adm admin) {
    admin.agregaDenegacion(denegacion);
  }
  
  public Jugador aceptar(final Adm admin) {
    Jugador _jugador = new Jugador();
    Jugador jugador = _jugador;
    jugador.setNombre(this.nombre);
    jugador.setEstado(this.tipoDeInscripcion);
    jugador.setFecha(this.fechaDeNacimiento);
    jugador.setEmail(this.email);
    jugador.agregaAmigos(this.amigos);
    admin.agregaJugador(jugador);
    return jugador;
  }
}
